b1c2d9035a6d9a8823b5f95e4082024291fe20e8,compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java,ImplementationBodyCodegen,getTraitImplDelegateInfo,#FunctionDescriptor#,1348

Before Change


                JvmPropertyAccessorSignature toGenerate = typeMapper.mapGetterSignature(property, OwnerKind.IMPLEMENTATION);
                JvmPropertyAccessorSignature inTrait = typeMapper.mapGetterSignature(original, OwnerKind.IMPLEMENTATION);
                return new TraitImplDelegateInfo(
                        toGenerate.getJvmMethodSignature().getAsmMethod(), inTrait.getJvmMethodSignature().getAsmMethod());
            }
            else if (fun instanceof PropertySetterDescriptor) {
                JvmPropertyAccessorSignature toGenerate = typeMapper.mapSetterSignature(property, OwnerKind.IMPLEMENTATION);

After Change


            PropertyDescriptor property = ((PropertyAccessorDescriptor) fun).getCorrespondingProperty();
            PropertyDescriptor original = property.getOriginal();
            if (fun instanceof PropertyGetterDescriptor) {
                JvmPropertyAccessorSignature toGenerate = typeMapper.mapGetterSignature(property, OwnerKind.IMPLEMENTATION);
                JvmPropertyAccessorSignature inTrait = typeMapper.mapGetterSignature(original, OwnerKind.IMPLEMENTATION);
                return new TraitImplDelegateInfo(
                        toGenerate.getAsmMethod(), inTrait.getAsmMethod());
            }
            else if (fun instanceof PropertySetterDescriptor) {
                JvmPropertyAccessorSignature toGenerate = typeMapper.mapSetterSignature(property, OwnerKind.IMPLEMENTATION);
                JvmPropertyAccessorSignature inTrait = typeMapper.mapSetterSignature(original, OwnerKind.IMPLEMENTATION);
                return new TraitImplDelegateInfo(
                        toGenerate.getAsmMethod(), inTrait.getAsmMethod());
            }
            else {
                throw new IllegalStateException("Accessor is neither getter, nor setter, what is it? " + fun);